Archive-name: object-faq/part9 Last-Modified: 10/27/94 Version: 1.0.7 If you find any bugs or make modifications (e.g., ports to other thread packages) or port it to other systems, then please let me know so I can keep the sources up-to-date for other users. The package is available via anonymous ftp from arjuna.ncl.ac.uk >39 commercial on cd-rom From: jimad@microsoft.com (Jim Adcock) Subject: Re: Non-defense Ada applications - answering several requests Date: 11 Jun 93 18:56:55 GMT Organization: Microsoft Corporation >... 1) Get a copy of the Computer Select Database. [I notice the company is offering free trial copies [the database is CD-ROM based]] 2) Select "Section: Software Product Specifications" 3) Select "Find: C++" Behold! A list of 734 commercially available software packages written in C++, including some of the best known names in the software industry. >40 C++ Signatures (subtyping) From: gb@cs.purdue.edu (Gerald Baumgartner) Newsgroups: comp.object,comp.lang.c++ Subject: signature implementation for G++ 2.5.2 and tech report available Date: 4 Nov 1993 12:03:00 -0500 Organization: Department of Computer Sciences, Purdue University Announcing the paper Signatures: A C++ Extension for Type Abstraction and Subtype Polymorphism by Gerald Baumgartner and Vincent F. Russo. Tech report CSD-TR-93-059, Dept. of Computer Sciences, Purdue University, September 1993. Submitted to Software Practice & Experience. and a beta release of our implementation of signatures for GCC 2.5.2. How to Get that Stuff? ---------------------- You can get both the paper and the implementation by ftp from host: ftp.cs.purdue.edu (128.10.2.1) login: anonymous password: your e-mail address directory: pub/gb files: COPYING Copyright notice. README This file. Signatures.{dvi,ps}.gz DVI and Postscript versions of the paper. gcc-2.5.2.sig.diff.gz Patch to upgrade GCC 2.5.2. test.tar.gz Test files and script to run the tests. To make GCC 2.5.2 understand signatures, just copy the context diff file into the GCC source directory, type gunzip gcc-2.5.2.sig.diff.gz patch < gcc-2.5.2.sig.diff and rebuild and install `gcc,' `cc1plus,' the man pages, and the manual. For compiling C++ code containing signatures, you need to use the command line option -fhandle-signatures We tested our extension on Sun 4 only, but since there are no changes to the compiler backend, it is expected work on other architectures as well. To test whether it works on your architecture, unpack the file `test.tar.gz' and run the shell script Test It compiles the test programs and runs them. If everything works correctly, all the test programs (all 40 of them) should print Hello World. What are Signatures anyway? --------------------------- Roughly, signatures are type abstractions or interfaces of classes. They are related to ML's signatures, categories in Axiom, definition modules in Modula-2, interface modules in Modula-3, and types in POOL-I. The main language constructs added are signatures and signature pointers. For example, the signature declaration signature S { int foo (void); int bar (int); }; defines a new abstract type `S' with member functions `int foo (void)' and `int bar (int).' Signature types cannot be instantiated since they don't provide any implementation. Only signature pointers and signature references can be defined. For example, C obj; S * p = &obj; defines a signature pointer `p' and initializes it to point to an object of class type `C,' where `C' is required to contain the public member functions `int foo (void)' and `int bar (int).' The member function call int i = p->foo (); executes then `obj.foo ().' Class `C' is called an implementation of the abstract type `S.' In this example, we could have made `S' an abstract virtual class and `C' a subclass of `S,' and we would have had the same effect. The advantages of signatures over abstract virtual classes are - you can build a type hierarchy separate from the class inheritance (implementation) hierarchy, - subtyping becomes decoupled from inheritance, and - signatures can be used with compiled classes, while you cannot retrofit an abstract virtual class on top of compiled class hierarchies. For more information, please, see the paper. What's Implemented and what's not? ---------------------------------- Signature declarations and signature pointers are implemented and working. For examples of what's working and how to use them you can have a look at the test files. The following bugs are known: - The destructor of objects cannot be called though signature pointers. - A signature pointer cannot point to an object of a class defined by multiple inheritance. - The signature conformance check does not work if the signature contains other signature declarations or class declarations. - Operator and conversion operator member functions of signatures can only be called with function call syntax, such as `p->operator+(17),' but not with operator or conversion syntax. The following language constructs and features are not yet implemented: - constants in signatures, - signature references, - signature inheritance, - the `sigof' (signature of a class) construct, - views (not even the parsing is done), - signature templates, and - exception specifications in signature member function declarations. The following optimization is not implemented: - Looking up a virtual class member function through a signature pointer/reference requires double indirection. This can be optimized by memoizing, so that only the first lookup of a member function requires double indirection and further lookups require only single indirection. The items above are roughly in the order in which they will be implemented. Besides bug fixes, the main features that have been implemented since the last release are default implementations of signature member functions and opaque types. Feedback -------- Please, send your questions, comments, suggestions, and complaints to gb@cs.purdue.edu -- Gerald Baumgartner Dept. of Computer Sciences, Purdue University, W. Lafayette, IN 47907 Internet: gb@cs.purdue.edu, UUCP: ...!{decwrl,gatech,ucbvax}!purdue!gb >41 The Texas Persistent Store The Texas Persistent Store, version 0.1 Texas is a simple, portable, high-performance and (best of all) FREE persistent store for C++ using "pointer swizzling at page fault time" to translate persistent addresses to hardware-supported virtual addresses. Texas is built on top of a normal virtual memory, and relies on the underlying virtual memory system for caching. It uses user-level virtual memory protections to control the faulting of data from a persistent storage file into virtual memory. All addresses in a page are translated from a persistent format to actual virtual addresses when the page is brought into virtual memory, and subsequent memory references (including pointer traversals) are just as fast as for non-persistent data. Texas is easy to use, and is implemented as a UNIX library. It is small and can be linked into applications. It requires no special operating system privileges, and persistence is orthogonal to type---objects may be allocated on either a conventional transient heap, or on the persistent heap, as desired. Texas supports simple checkpointing of heap data. A log-structured storage module is under development, and will provide fast checkpointing of small transactions. Texas is beta software, and the current prerelease version supports only simple single-machine operation. Future releases will support client-server operation, a flexible access control scheme, and transaction support. Texas currently runs under SunOS and ULTRIX, using Sun CC or GNU C++. Porting to other modern systems (e.g., OS/2, WNT, Mach) should be easy---it requires only mprotect(), signal(), and sbrk() calls (or their equivalent) to control virtual memory protection setting and trap handling. Papers about the pointer swizzling scheme and Texas itself (referenced below) are available via anonymous ftp from cs.utexas.edu (IP address 128.83.139.9), as postscript files swizz.ps and texaspstore.ps in the directory pub/garbage. The source code for Texas is also available, in the directory pub/garbage/texas. References: Paul R. Wilson and Sheetal V. Kakkad, "Pointer Swizzling at Page Fault Time: Efficiently and Compatibly Supporting Huge Address Spaces on Standard Hardware," Proc. Second Int'l. Workshop on Object Orientation in Operating Systems, Sept. 1992, Dourdan, France, pp. 364--377. Vivek Singhal, Sheetal V. Kakkad, and Paul R. Wilson, "Texas: an Efficient, Portable Persistent Store", Proc. Fifth Int'l. Workshop on Persistent Object Systems, Sept. 1992, San Miniato, Italy, pp. 11-33. >42 OSE C++lib OSE is a collection of programming tools and class libraries for C++. The core of the environment is the C++ class libraries, of which three are provided. These are: OTCLIB - A library of generic components, including support for error handling, error message logging, error recovery, program debugging, memory management, resource management, generic collections, text manipulation, operating system interfacing and event driven systems. OUXLIB - A library of components which primarily extends classes in the OTCLIB library to support features specific to the UNIX operating system. OTKLIB - A library of components which builds on the OTCLIB and OUXLIB libraries to allow integration of the TCL/TK library into applications using the event driven systems framework provided by the OTCLIB library. The C++ libraries are portable to a wide range of C++ compilers on the UNIX platform. Supported C++ compilers include those from USL (CFRONT), DEC, HP, IBM, Lucid, SGI, SUN, CenterLine and ObjectStore, as well as the freely available GNU C++ compiler. If your C++ compiler does not support templates, it is possible to use a template preprocessor which is supplied with OSE. Portability to all the major variants of UNIX has been achieved. Supported platforms include BSD, HPUX, IRIX, Linux, OSF, SCO, Solaris, SunOS, SYSV and Ultrix. In addition to being available under UNIX, the OTCLIB library is portable to DOS and OS/2 using Borland and Watcom C++ compilers. OSE was winner of CODA'94, the ComputerWorld Object Developer Awards which is held in conjunction with ObjectWorld in Sydney, Australia. The category in which OSE was a winner was "Best implementation of a reusable development environment for company deployment". OSE can be obtained via anonymous ftp from: Europe: ftp.th-darmstadt.de [130.83.55.75] directory pub/programming/languages/C++/class-libraries/OSE United States straylight.acs.ncsu.edu [152.1.65.11] directory /pub/ose Australia: csis.dit.csiro.au [192.41.146.1] directory pub/SEG/ose Documentation for OSE is available online via WWW at: http://www.tansu.com.au/Docs/ose/doc/ose-home.html Questions about OSE can be directed to the author (Graham Dumpleton) at: ose@nms.otc.com.au A mailing list for discussion of OSE, and a mail server providing a list of known problems and fixes is also available. >43 Traces,kiczales,MOP,DI From: gregor@parc.xerox.com (Gregor Kiczales) Subject: Re: Dynamic Objects In-Reply-To: rjh@geodesic.com's message of 25 Aug 93 21:52:56 GMT Message-ID: Organization: Xerox Palo Alto Research Center References: <16C357BF0.MFARMER@utcvm.utc.edu> <1993Aug25.215256.8031@midway.uchicago.edu> Date: 3 Sep 93 09:35:06 Earlier in this series of messages, Craig Chambers and others mentioned his ECOOP'93 paper on predicate classes, which provide a powerful handle on some of the problems that have been mentioned in this series of messages, specifically, how dynamic changes to an object or its context can be harnessed to reliably effect the object's (message receipt) behavior. As I see it, predicate classes are a key step towards solving one of the most frustrating problems of OO programming: the struggle over whether to encode some difference among objects in the value of a slot (that is one of its parts) or in the object's `method table' (class or that which it is one-of). A closely related problem, that has also come up in this series of messages, is how so-called factory objects can dynamically select the behavior of the objects they create. We have developed a new OO language concept called Traces, that can be used to make much more powerful factory objects, as well as handle some of the things predicate classes do. The two ideas are similar in that they both make behavior selection a much more dynamic phenomena. My ISOTAS'93 paper presents the concept of Traces and shows it application to some problems. This paper is available for anonymous FTP from ftp.parc.xerox.com, in the /pub/mops directory. The file is traces.ps. Gregor Following is the abstract from the paper: Object-oriented techniques are a powerful tool for making a system end-programmer specializable. But, in cases where the system not only accepts objects as input, but also creates objects internally, specialization has been more difficult. This has been referred to as the ``make isn't generic problem.'' We present a new \oo{} language concept, called traces, that we have used successfully to support specialization in cases that were previously cumbersome. The concept of traces makes a fundamental separation between two kinds of inheritance in \oo{} languages: inheritance of default implementation -- an aspect of code sharing; and inheritance of specialization, a sometimes static, sometimes dynamic phenomenon. >44 C++ coding standard From: metz@iam.unibe.ch (Igor Metz) Subject: Re: C++ coding standard Organization: Dept. of CS, University of Berne, Switzerland Date: Tue, 7 Sep 1993 07:08:21 GMT euagate.eua.ericsson.se (Internet Address: 134.138.134.16) ~ftp/pub/eua/c++/rules.ps.Z [Also an archive site. E.g. Coplien includes a dir of C++ examples] >45 Kala Archive From: sss@world.std.com (Sergiu S Simmel) Subject: Kala White Paper now available via anonymous ftp Message-ID: Organization: Penobscot Development Corporation, Cambridge MA Date: Fri, 10 Sep 1993 07:18:11 GMT An 8-page paper providing an overview of what Kala is and what Kala is for is now available, in PostScript format, in the Kala Archive. The file is accessible, via anonymous FTP, at the following location: anonymous@world.std.com:/pub/kala/TechDocs/Overview.ps The outline is the following 1 What is Kala For? 2 Software Infrastructure Persistent Data and Persistent Stores 3 Data Transfer 4 Data Visibility Changing Visibility Sharing Visibility Transactions Versions 5 Runtime and Architectural Models 6 Relationship to Other Technologies This paper is targeted towards those who don't know anything about Kala and would like to find out a bit in 10 pages or less. Enjoy! P.S. For those of you who do not have FTP access and would like to obtain this file, please send a brief e-mail message to info@Kala.com, requesting that the file be e-mailed to you. Beware that the file is approximately 425Kbytes long (the paper contains 13 illustrations!). >46 BeBOP(seq,par,LP,OO,meta) From: ad@munta.cs.mu.OZ.AU (Andrew Davison) Subject: BeBOP v.1.0 Available Message-ID: <9325614.15552@mulga.cs.mu.OZ.AU> Organization: Department of Computer Sci, University of Melbourne Follow-Up: comp.parallel Date: Mon, 13 Sep 1993 04:08:41 GMT BeBOP and bp Version 1.0 now available ====================================== What is BeBOP? ============== The language BeBOP is a unique combination of sequential and parallel Logic Programming (LP), object oriented programming and meta-level programming. The LP component offers both don't know non-determinism and stream AND-parallelism, a combination not possible with concurrent LP languages. BeBOP's object oriented features include object IDs, encapsulation, message passing, state updating, and object behaviour modification. The meta-level capabilities are based on the treatment of Prolog theories as first order entities, which enables them to be updated easily, and for fragments to be passed between objects in messages. BeBOP is implemented by translation down to NU-Prolog, and its parallel extension, PNU-Prolog. An unusual aspect of this is the way that object IDs are utilized as a communication mechanism between objects. What is bp? =========== The bp interactive interpreter supports BeBOP programming by allowing the flexible invocation of objects, and offering the means for setting up communication links between objects at any time. An incidental benefit is the ability to use `global' variables in queries. Since bp is an augmentation of the NU-Prolog np system, objects and Prolog goals can be combined, and a by-product is that the floundering of Prolog queries is avoided. Where are they? =============== The BeBOP system (BeBOP and bp), and the PNU-Prolog preprocessor pnp, can be found at the anonymous ftp site munnari.oz.au (128.250.1.21), in the directory pub as the file bebop.tar.Z. Remember to use binary mode when copying it. The release comes with a user manual, several papers (in Postscript format), sample programs, and source code. System requirements =================== The BeBOP system requires the following: * The NU-Prolog system, compiler and interpreter * The pnp preprocessor (this is included as part of the BeBOP system release) * GCC or similar compiler * Yacc (or Bison) and Lex For more details, contact: ========================== Andrew Davison Dept. of Computer Science University of Melbourne Parkville, Victoria 3052 Australia Email: ad@cs.mu.oz.au Fax: +61 3 348 1184 Phone: +61 3 287 9172 / 9101 Telex: AA 35185 >47 Knowledge Media, Massive cd-rom, lots of freeware A "Resource Library" of cd-rom discs . CDs for language/OS, graphics, multi- media, mega-media (3), and audio. "Gathered from the resources of the Internet, CompuServe, Genie, BIX, and other BBS's". Some shareware. Should be available at your local software store. From the back of the Languages CD: 'Over 100 Languages' ... This is the largest collection of compilers, interpreters, libraries, and source code for standard and experimental computer languages and operating systems ever assembled. A must for anyone interested in computer programming, this disc is just right for everyone, whether he or she is a researcher, student, or an interested hobbist. Knowledge Media Inc. Paradise, CA 95969 USA >48 u++, C++ Trans. and Concry RTS From: nat@nataa.frmug.fr.net (Nat Makarevitch) Subject: Re: 'Concurrent Objects' - Suggestions needed Date: 10 Oct 1993 02:41:15 GMT Organization: LIVIA u++ - uC++ Translator and Concurrency Runtime System DESCRIPTION The u++ command introduces a translator pass over the specified source files after the C preprocessor and before the actual C++ compilation. The translator converts sev- eral new uC++ constructs into C++ statements. The u++ command also provides the runtime concurrency library, which must be linked with each uC++ application. REFERENCES uC++: Concurrency in the Object-Oriented Language C++, by P.A. Buhr, G. Ditchfield, R.A. Stroobosscher, B.M. Younger, C.R. Zarnke; Software-Practise and Experience, 22(2):137--172, February 1992. This paper describes uC++ v2.0, which has been significantly extended. The uC++ system is available via anonymous FTP from watmsg.UWaterloo.ca:pub/uSystem. A license agreement is required to use uC++. >49 Real Time From: dstewart+@cs.cmu.edu (David B Stewart) Subject: Re: Object-Oriented Systems and Realtime Organization: The Robotics Institute, Carnegie Mellon University Date: Mon, 11 Oct 1993 16:51:19 GMT In article <1993Oct11.082519.23058@cs.tcd.ie>, Chris Zimmermann wrote: >Hi community: > >What is the state of the art concerning real time in >object-oriented systems (if any)? By this, I mean the >marriage of more or less traditional real time systems >(including systems concerned with "soft" real time aspects >like multimedia) with the OO paradigm. >[...] We've done significant work in that area. Check out the following tech report: D. B. Stewart, R. A. Volpe, and P. K. Khosla, "Design of Dynamically Reconfigurable Real-Time Software using Port-Based Objects," Carnegie Mellon University Tech Report #CMU-RI-TR-93-11, July 1993. Abstract: The current development of applications for sensor-based robotic and automation (R&A) systems is typically a `one-of-a-kind' process, where most software is developed from scratch, even though much of the code is similar to code written for other applications. The cost of these systems can be drastically reduced and the capability of these systems improved by providing a suitable software framework for all R&A sys tems. We describe a novel software framework, based on the notion of dynamically reconfigurable software for sensor-based control systems. Tools to support the implementation of this framework have been built into the Chimera 3.0 Real-Time Operating System. The framework provides for the systematic development and predictable execution of flexible R&A applications while maintaining the ability to reuse code from previous applications. It combines object-oriented design of software with port-automaton design of digital control systems. A control module is an instance of a class of port-based objects. A task set is formed by integrating objects from a module library to form a specific configuration. An implementation using global state variables for the automatic integration of port-based objects is presented. A control subsystem is a collection of jobs which are executed one at a time, and can be programmed by a user. Multiple control subsystems can execute in parallel, and operate either independently or cooperatively. One of the fundamental concepts of reconfigurable software design is that modules are developed independent of the target hardware. Our framework defines classes of reconfigurable device driver objects for proving hardware independence to I/O devices, sensors, actuators, and special purpose processors. Hardware independent real-time communication mechanisms for inter-subsystem communication are also described. Along with providing a foundation for design of dynamically reconfigurable real-time software, we are also developing many modules for the control module, device driver, and subroutine libraries. As the libraries continue to grow, they will form the basis of code that can eventually be used by future R&A applications. There will no longer be a need for developing software from scratch for new applications, since many required modules will already be available in one of the libraries. This report is available via anonymous FTP as follows: % ftp IUS4.IUS.CS.CMU.EDU (128.2.209.143) Name: anonymous Password: yourname@yourmachine ftp> binary ftp> cd /usr/chimera/public ftp> get CMU_RI_TR_93_11.ps.Z ftp> quit % uncompress CMU_RI_TR_93_11.ps.Z % lpr CMU_RI_TR_93_11.ps (must be a postscript printer) For more information, 'finger chimera@cmu.edu'. >50 Ada-9x (compiler, GNU) From: stt@spock.camb.inmet.com (Tucker Taft) Subject: Re: which language to use ...? Organization: Intermetrics, Inc. Date: Mon, 1 Nov 1993 23:22:42 GMT >[...] Also, there is a preliminary release of a GNU-GCC-based Ada 9X compiler available from NYU on cs.nyu.edu in pub/gnat/... The front end is written in Ada itself; the back end is the usual GCC back end (enhanced as appropriate). S. Tucker Taft stt@inmet.com Intermetrics, Inc. Cambridge, MA 02138 >51 OO Course Slides From: wellerd@ajpo.sei.cmu.edu (David Weller) Subject: Re: Slides on OOP or OMT wanted Organization: Sigma Software Engineering, Inc. Date: Fri, 5 Nov 1993 11:01:44 EST In article <2bdot7$3nr@news-rocq.inria.fr> ziane@lolita.inria.fr (Mikal Ziane (Univ. Paris 5 and INRIA) ) writes: > >Hello netters, > >Is anybody aware of public domain slides available on an ftp site ? >I'd like slides on OO programming or OO design methods (esp. OMT). >I know I am crazy to ask for that but someone told me he saw >a very good C++ course on some ftp site ! (he does not remember which one >unfortunatemy) > It's true! On WUArchive (wuarchive.wustl.edu) there is a series of slides developed in Microsoft's PowerPoint. The course material includes lesson plans, tests, and workbooks, along with full notes accompanying each slide. There's one _little_ catch -- it's in the Public Ada Library. Now, the OOP course (there's three courses, one on OOD, OOP, and Software Engineering) covers both C++ and Ada. It was designed to let the students work in both languages to get an objective opinion of the pluses and minuses of each language (gee, what a concept!). The OOD slides do NOT cover OMT. Some material is used from Booch's OOD book, but not the notation. From looking at the slides, it appears very easy to insert your own notation. The important part for students is communicating the concepts, which (for the price) these slides do a DAMN good job of. <- (Safire's Violation #45: "A perposition is a bad thing to end a sentence with." :-) Ah, but WHERE on WUArchive are they? If you look under languages/ada/crsware, I believe you'll find them. Good luck! dgw -- type My_Disclaimer is new Standard.Disclaimer with record AJPO, SEI : Cognizance := Disavow_All_Knowledge; end record;--) >52 GTE Distrib Reports From: em02@gte.com (Emon) Subject: Reports Available From The Distributed Object Computing Department Date: 5 Nov 93 18:10:15 GMT Organization: GTE Laboratories, Inc. REPORTS AVAILABLE FROM THE DISTRIBUTED OBJECT COMPUTING DEPARTMENT GTE LABORATORIES INCORPORATED 40 Sylvan Road, M/S 62 Waltham, Massachusetts 02254 For over six years, the primary focus of the Distributed Object Computing Department within GTE Laboratories has been the Distributed Object Management (DOM) project. The DOM project conducts research into object-oriented technology for integrating heterogeneous, autonomous, distributed (HAD) computer systems/resources. Major research areas include: interoperable object models; interoperable, distributed object architectures; heterogeneous, extended transaction models; and information requests in HAD environments. We are experimenting in these areas using our prototype DOM system which we have developed over the past five years. This technology is based on ideas from a number of technical areas including distributed, object-oriented, databases, multi-database systems, operating systems, and programming languages. Permission is granted at this time for the operations and uses listed below. However, this permission is non-transferable and is subject to revocation on a report-by-report basis, due to possible copyright transfers that are normal in the publication process. Any additional copyright restrictions are noted in the reports themselves. Default permissions are for anonymous ftp, electronic viewing, and single-copy printing. Permissible uses are research and browsing. Specifically prohibited are SALES of any copy, whether electronic or hardcopy, of any of these reports for any purpose. Also prohibited is copying, excerpting or extensive quoting of any report in another work without the written permission of one of the report's authors. Reports marked with a "*" can be retrieved in postscript(ascii) form via anonymous ftp from ftp.gte.com (132.197.8.2) in the "pub/dom" subdirectory. >>>>>>>>> 1994 [GEOR94a]* Georgakopoulos, D., M. Rusinkiewicz, and W. Litwin, "Chronological Scheduling of Transactions with Temporal Dependencies," to appear in the VLDB journal, January 1994 (submitted in December 1990). [GEOR94b]* Georgakopoulos, D., M. Hornick, P. Krychniak, and F. Manola, "Specification and Management of Extended Transactions in a Programmable Transaction Environment," to appear in the Proceedings of the 10th International Conference on Data Engineering, Houston, Texas, February 1994. Also published as TC-0207-02-93-165, GTE Laboratories Incorporated, February 1993. >>>>>>>>> 1993 [BROD93a]* Brodie, M.L., "The Promise of Distributed Computing and the Challenge of Legacy Information Systems," in Hsiao, D., E.J. Neuhold, and R. Sacks-Davis (eds), Proc. IFIP TC2/WG2.6 Conference on Semantics of Interoperable Database Systems, Lorne, Australia, November 1992, Elsevier North Holland, Amsterdam 1993. [BROD93b]* Brodie, M.L. and M. Stonebraker, "DARWIN: On the Incremental Migration of Legacy Information Systems," DOM Technical Report, TR-0222-10-92-165, GTE Laboratories Inc., March 1993. [GEOR93a]* Georgakopoulos, D., M. Hornick, and P. Krychniak, "An Environment for Specification and Management of Extended Transactions in DOMS," to appear in Proceedings of the 3rd International Workshop on Interoperability in Multidatabase Systems, Vienna, Austria, April 1993. [GEOR93c]* Georgakopoulos, D., M. Rusinkiewicz and A. Sheth, "Using Ticket-based Methods to Enforce the Serializability of Multidatabase Transactions," to appear in the IEEE Transactions on Data and Knowledge Engineering December 1993 (submitted in February 1992). [GEOR93e]* Georgakopoulos, D., M. Hornick, F. Manola, M. Brodie, S. Heiler, F. Nayeri, and B. Hurwitz, "An Extended Transaction Environment for Workflows in Distributed Object Computing," in IEEE Data Engineering, pp. 24-27, vol. 16, no. 2, June 1993. [MANO93a] Manola, F., "The Need for Object Model Interoperability," Workshop Report, Workshop on Application Integration Architectures, Dallas, Texas, February 1993 [MANO93c]* Manola, F. and S. Heiler, "A 'RISC' Object Model for Object System Interoperation: Concepts and Applications," TR-0231-08-93-165, GTE Laboratories, Inc., August 1993. [MITC93a] Mitchell, G., "Extensible Query Processing in an Object-Oriented Database," PhD Thesis, Brown University Technical Report No. CS-93-16, May 1993. Available in hard copy from Brown University, Computer Science Department, and postscript format via anonymous ftp from wilma.cs.brown.edu as file techreports/93/cs93-16.ps.Z [NAYE93c]* Nayeri, F., and B. Hurwitz, "Experiments with Dispatching in a Distributed Object System," GTE Laboratories, Inc., TR-0236-09-93-165, July 1993. [NAYE93d]* Nayeri, F., "Addressing Component Interoperability in the OMG Object Model," position paper submitted to ORB Implementors' Workshop, San Francisco, June 1993. [NICO93a] Nicol, J., T. Wilkes, and F. Manola, "Object Orientation in Heterogeneous Distributed Computing Systems," IEEE Computer, pp. 57-67, Vol. 26, No.6, June 1993. [VENT93]* Ventrone, V. and S. Heiler, "Some Practical Advice for Dealing with Semantic Heterogeneity in Federated Database Systems," Submitted to USENIX. >>>>>>>>> 1992 [BGR92]* Batra, R., D. Georgakopoulos, and M. Rusinkiewicz, "A Decentralized Deadlock-free Concurrency Control Method for Multidatabase Transactions," in Proceedings of 12th International Conference on Distributed Computing Systems, Yokohama, Japan, June, 1992. [BRO92b]* Brodie, M.L. and J. Mylopoulos , "Artificial Intelligence and Databases: Dawn, Midday, or Sunset?," Canadian Information Processing /Informatique Canadienne, July/August 1992. [BROD92c]* Brodie, M.L. and S. Ceri, "On Intelligent and Cooperative Information Systems," in International Journal of Intelligent and Cooperative Information Systems 1, 2 September 1992. [BUCH92] Buchmann, A.P., M.T. Ozsu, M. Hornick, D. Georgakopoulos, F.A. Manola, "A Transaction Model for Active Distributed Object Systems," in Database Transaction Models for Advanced Applications, A.K. Elmagarmid, (ed.), Morgan Kaufmann, San Mateo, CA, Spring 1992. [GEOR92]* Georgakopoulos, D., "A Framework for Dynamic Specification of Extended Multidatabase Transactions and Interdatabase Dependencies," Proceedings of Third Workshop on Heterogeneous Databases and Semantic Interoperability, Boulder, February, 1992. [HEIL92] Heiler, S., S. Haradhvala, B. Blaustein, A. Rosenthal, and S. Zdonik, "A Flexible Framework for Transaction Management in Engineering Environments," in Database Transaction Models for Advanced Applications, A.K. Elmagarmid (ed.), Morgan Kaufmann, San Mateo, CA, Spring 1992. [MANO92]* Manola, F., S. Heiler, D. Georgakopoulos, M. Hornick, M. Brodie, "Distributed Object Management," International Journal of Intelligent and Cooperative Information Systems 1, 1 March 1992. [MANO92a]* Manola, F. and S. Heiler, "An Approach To Interoperable Object Models," Proceedings of the International Workshop on Distributed Object Management, Edmonton, Canada, August 1992 (also in Distributed Object Management, M.T. Ozsu, U. Dayal, and P. Valduriez (eds.), Morgan Kaufmann, San Mateo, CA, 1993). >>>>>>>>> 1991 [BROD91] Brodie, M., "Distributed Object Management Research," Proceedings of the Second Telecommunications Information Networking Architecture (TINA) Workshop, pp. 297-303, Chantilly, France, March 1991. [BROD91a]* Brodie, M. and M. Hornick, "An Interoperability Development Environment For Intelligent Information Systems," Proceedings of the International Workshop on the Development of Intelligent Information Systems, Niagara-on-the-Lake, April 1991. [BUCH91]* Buchmann, A.P., M. Tamer Ozsu, and D. Georgakopoulos, "Towards a Transaction Management System for DOM," TR-0146-06-91-165, GTE Laboratories Incorporated, June 1991. [GEOR91a]* Georgakopoulos, D., M. Rusinkiewicz, and A. Sheth, "On Serializability of Multidatabase Transactions Through Forced Local Conflicts," Proceedings of the 7th International Conference on Data Engineering, Kobe, Japan, April 1991. [GEOR91b]* Georgakopoulos, D., "Multidatabase Recoverability and Recovery," Proceedings of the First International Workshop on Interoperability in Multidatabase Systems, Kyoto, Japan, April 1991. [GRL91] Georgakopoulos, D., M. Rusinkiewicz, and W. Litwin, "Chronological Scheduling of Transactions with Temporal Dependencies," in the VLDB journal, available draft also as a Technical Report from the Department of Computer Science at the University of Houston, UH-CS-91-03, February, 1991. [HEIL91]* Heiler, S., "Extended Data Type Support in Distributed DBMS Products: A Technology Assessment and Forecast," TR-170-12-91-165. GTE Laboratories Incorporated, December 1991. [HORN91]* Hornick, M.F., J.D. Morrison, and F. Nayeri, "Integrating Heterogeneous, Autonomous, Distributed Applications Using the DOM Prototype," TR-0174-12-91-165. GTE Laboratories Incorporated, December 1991. [MANO91] Manola, F. and U. Dayal, "An Overview of PDM: An Object-Oriented Data Model," in K.R. Dittrich, U. Dayal, and A.P. Buchmann (eds.), On Object-Oriented Database Systems, Springer-Verlag, 1991. [MANO91a]* Manola, F., "Object Data Language Facilities for Multimedia Data Types," TR-0169-12-91-165. GTE Laboratories Incorporated, December 1991. [MANO91b] Manola, F., "The Third-Generation/OODBMS Manifesto, Commercial Version," SIGMOD Record, Vol. 20, No. 4, December 1991. [RUSI91] Rusinkiewicz, M. and D. Georgakopoulos, "Multidatabase Transactions: Impediments and Opportunities," Compcon Spring '91 Digest of Papers, San Francisco, February 1991. [VENT91] Ventrone, V. and S. Heiler, "Semantic Heterogeneity as a Result of Domain Evaluation," SIGMOD Record Special Issue: Semantic Issues in Multidatabase Systems, Vol. 20, No. 4, December 1991. >>>>>>>>> 1990 [BREI90] Breitbart, Y., D. Georgakopoulos, and M. Rusinkiewicz, A. Silberschatz, "Rigorous Scheduling in Multidatabase Systems," Proceedings of Workshop in Multidatabases and Semantic Interoperability, Tulsa, pp. 658-667, November 1990. [BROD90]* Brodie, M.L., F. Bancilhon, C. Harris, M. Kifer, Y. Masunaga, E.D. Sacerdoti, K. Tanaka, "Next Generation Database Management Systems Technology," in Deductive and Object-Oriented Databases, W. Kim, J-M Nicolas, S. Nishio, (eds.), Elsevier Science Publishers, 1990. [HEIL90] Heiler, S., F. Manola and S. Zdonik, "An Object-Oriented Database Approach to Federated Systems," (unpublished paper), 1990. [MANO90] Manola, F., "Object-Oriented Knowledge Bases," AI Expert, 5(3), 5(4), March and April 1990. [MANO90a]* Manola, F. and A. Buchmann "A Functional/Relational Object-Oriented Model for Distributed Object Management: Preliminary Description" TM-0331-11-90-165. GTE Laboratories Incorporated, December 1990. [MANO90b]* Manola, F., M. Hornick, and A. Buchmann "Object Data Model Facilities for Multimedia Data Types" TM-0332-11-90-165, GTE Laboratories Incorporated, December 1990. [MYLO90]* Mylopoulos, J. and M. Brodie, "Knowledge Bases and Databases: Current Trends and Future Directions," Lecture Notes in Computer Science, Vol. 474: Information Systems and Artificial Intelligence: Integration Aspects, D. Karagiannia, (ed.), Springer-Verlag, New York, 1990. [RUSI90] Rusinkiewicz, M., D. Georgakopoulos, and R. Thomas, "RDS: A Primitive for the Maintenance of Replicated Data Objects," Proceedings of Second IEEE Symposium on Parallel and Distributed Processing, Dallas, pp. 658-667, December 1990. [SILB90] Silberschatz, A., M. Stonebraker, and J.D. Ullman (eds.), M.L. Brodie, P. Buneman, M. Carey, A. Chandra, H. Garcia-Molina, J. Gray, R. Fagin, D. Lomet, D. Maier, M.A. Niemat, A. Silberschatz, M. Stonebraker, I. Traiger, J. Ullman, G. Wiederhold, C. Zaniolo, and M. Zemankova, P.A. Bernstein, W. Kim, H.F. Korth, and A. van Tilborg, (co-authors), "Database Systems: Achievements and Opportunities," ACM SIGMOD Record, 19, 4, December 1990; also appeared in Communications of the ACM, Vol. 34, No.10, pp. 110-120, October 1991. [STON90] Stonebraker, M. , L.A. Rowe, B. Lindsay, J. Gray, M. Carey, M.L. Brodie, P. Bernstein, and D. Beech, "Third-Generation Data Base System Manifesto," ACM SIGMOD Recored 19, 3, September 1990. [ZERT90] Zertuche, D.R. and A.P. Buchmann, "Execution Models for Active Database Systems: A Comparison," TM-0238-01-90-165, GTE Laboratories Incorporated, January 1990. >>>>>>>>> 1989 [BROD89] Brodie, M., D. Bobrow, V. Lesser, S. Madnick, D. Tsichritzis, and C. Hewitt, "Future Artificial Intelligence Requirements for Intelligent Database Systems" Expert Database Systems: Proceedings From the Second International Conference, L. Kerschberg (ed.), Benjamin/Cummings, Menlo Park, CA, 1989. [BROD89a] Brodie, M. , J. Mylopoulos, "Future Intelligent Information Systems: AI and Database Technologies Working Together," in M. Brodie, J. Mylopoulos, (eds. and contributors), Readings in Artificial Intelligence and Databases, Morgan Kaufmann, San Mateo, CA, 1989. [MANO89]* Manola, F., "Applications of Object-Oriented Database Technology in Knowledge-Based Integrated Information Systems," GTE Laboratories Incorporated, April 1989. [MANO89a]* Manola, F., "Object Model Capabilities For Distributed Object Management," TM-0149-06-89-165, GTE Laboratories Incorporated, June 1989. [MANO89b]* Manola, F., "An Evaluation of Object-Oriented DBMS Developments," TR-0066-10-89-165, GTE Laboratories Incorporated, October 1989. [WELC89] Welch, J.L. and A.P. Sistla, "Object-Based Concurrency Control and Recovery Mechanisms," TM-0150-06-89-165, GTE Laboratories Incorporated, June 1989. >>>>>>>>> 1988 [MANO88]* Manola, F., "Distributed Object Management Technology," TM-0014-06-88-165, GTE Laboratories Incorporated, June 1988. >>>>>>>>> 1987 [MANO87] Manola, F., "A Personal View of DBMS Security," Database Security: Status and Prospects, C.E. Landwehr (ed.), Elsevier Science Publishers B.V., North Holland, 1988, 23-34; TN CS1.1, GTE Laboratories Incorporated, December 1987. _[GEOR94a]* _[GEOR94b]* _[BROD93a]* _[BROD93b]* _[GEOR93a]* _[GEOR93c]* _[GEOR93e]* _[MANO93a] _[MANO93c]* _[NAYE93c]* _[NAYE93d]* _[NICO93a] _[VENT93]* _[BGR92] _[BRO92b]* _[BROD92c]* _[BUCH92] _[GEOR92]* _[HEIL92] _[MANO92]* _[MANO92a]* _[BROD91] _[BROD91a]* _[BUCH91]* _[GEOR91a]* _[GEOR91b]* _[GRL91] _[HEIL91]* _[HORN91]* _[MANO91] _[MANO91a]* _[MANO91b] _[RUSI91] _[VENT91] _[BREI90] _[BROD90]* _[HEIL90] _[MANO90] _[MANO90a]* _[MANO90b]* _[MYLO90]* _[RUSI90] _[SILB90] _[STON90] _[ZERT90] _[BROD89] _[BROD89a] _[MANO89]* _[MANO89a]* _[MANO89b]* _[WELC89] _[MANO88]* _[MANO87] >53 KEOBJ, OO DSP micro-kernel From: clb@softia.com (Chris Bidaut) Subject: Object kernel for DSP & RISC processors Date: Mon, 15 Nov 1993 22:48:46 Organization: Softia, Inc. This is an announcement for KEOBJ, an object-oriented micro-kernel for Digital Signal Processors (DSP) and RISC processors. This is also a request for comments from the Internet community. Feedback on the architecture and programming interface will be appreciated and incorporated into the next release. 1 DESCRIPTION ------------- KEOBJ is an object-oriented micro-kernel optimized for advanced embedded applications, and it particularly targets Digital Signal Processors (DSP) and RISC processors in multimedia environments. Its main features are object-orientation, real-time behavior, signal processing support, micro-kernel architecture and scalability. 1.1 Object-orientation The kernel is a collection of system classes exported to the applications (e.g Process, Thread, Memory, ...). An object name space provides a way to locate any public object (e.g. IPC, memory) using a symbolic path. The kernel is written in C++ and is easily portable. 1.2 Real-time behavior The design stresses fast response time and predictability to qualify for the real-time label. The kernel is reentrant and preeemptable. 1.3 Signal processing support Besides providing an architecture appropriate for most general purpose applications, the kernel incorporates dedicated features for signal processing applications. This includes two phases interrupt processing, time-deadline scheduling, Inter Process Communications, multiple memory pools, awareness of the constraints due to a single data type (word). 1.4 Micro-kernel architecture Probably the most important feature of the kernel is the ability to be extended at run-time with new services such as devices drivers, public classes (IPC, file systems, windowing systems). Applications and system services are dynamically loaded by a COFF compatible loader. The core kernel is customizable at run-time through a personality mechanism to emulate other environments (Operating systems) or to tailor the processes environments. 1.5 Scalability The API supports physical and virtual memory organizations with the same semantics. Applications source code will be portable across DSP and RISC processors. The architecture supports symmetric multiprocessing and distribution (Available by mid-1994). 2 WHERE TO FIND THE PACKAGE --------------------------- A set of documentation about KEOBJ is available via anonymous ftp on the following Internet server: netcom.com (192.100.81.100) in file /pub/softia/keobj.zip If you do not have access to Internet, contact me for other delivery media at: Chris Bidaut clb@softia.com Telephone (408) 262-6520 Fax (408) 262-7210 >54 MindFrame for Windows From: gcl@netcom.com (Geoff Lee) Subject: "MindFrame for Windows" (freeware) application is available for ftp Date: Tue, 16 Nov 1993 21:07:28 GMT MindFrame for Windows 1.0 Release Note ====================================== mndframe.zip (MindFrame for Windows) is available for anonymous ftp on ftp.cica.indiana.edu. It is currently in /pub/pc/win3/uploads. "MindFrame for Windows" is a freeware application developed to teach an object modeling approach presented in the book: "Object-Oriented GUI Application Development" Geoff Lee, Prentice-Hall, 1993, ISBN 0-13-363086-2. This application is useful in many other areas as well, for example, in Bible studying (metaphors, parables, prophecies, types), neural modeling, ecological modeling, and task modeling. There are 20 sample applications covering these areas. There are also description of each of the sample application in the on-line Help. Read "About MindFrame..." help topic for more information. This is a copyrighted software, but you can freely redistribute if you keep the release intact. The following is the content of mdnframe.txt file in the .zip file: 1. Installation Procedure: DOS> mkdir MndFrame DOS> cd MndFrame DOS> copy b:MndFrame.zip (or where you kept the mndframe.zip file) DOS> unzip -d mndframe.zip (extract files into subdirectories) DOS> copy grid.vbx \windows\systems (your local Windows system directory) 2. Running the application: . In Windows, open your "File Manager" . Go to \MndFrame directory . Find the MndFrame.exe file . Drag the MndFrame.exe file icon into a "Program Manager" window . Open the MndFrame.exe program 3. Sample applications: Once you are in the MindFrame application, open files in the \MndFrame\Samples subdirectories. There are 20 sample files organized according to areas of application (e.g., object modeling, neural modeling, bible studying). You can also find description of each of these samples in the On-Line Help file. 4. On-line help: Use the "About MindFrame..." menu item in the "Help" menu to learn more about this application. There is an on-line help provided for this application. Read through the help topics to learn about using this application. 5. Files in this release: mndframe.txt: this file. mdnframe.exe: the executable file of "MindFrame for Windows" freeware. mndframe.hlp: the on-line help file for "MindFrame for Windows". biblnote.ps: the PostScript file of help text on using this application to study metaphors, parables, types, and prophecies in the Holy Bible. grid.vbx: the visual basic grid control that is necessary to run this application. It must be copied into your local "system" directory for Windows (\windows\system in most cases). samples\*: in this directory, there are 20 samples (*.frm files) in the subdirectories for each application area (e.g., objmodel, ecology, neural, parable). New MindFrame anonymous FTP Directory: It has been moved to a more permanent directory: /pub/pc/win3/programr. >55 ACE Lib, C++ Networking From: schmidt@liege.ics.uci.edu (Douglas C. Schmidt) Subject: Re: C++ and Semaphores Date: 22 Nov 1993 19:27:00 -0800 Organization: University of California at Irvine: ICS Dept. THE "ADAPTIVE COMMUNICATION ENVIRONMENT" (ACE) LIBRARY: A Collection of C++ Network Programming Components -------------------------------------------------- The ACE library is available for anonymous ftp from the ics.uci.edu (128.195.1.1) host in the gnu/C++_wrappers.tar.Z file (approximately .4 meg compressed). This release contains contains the source code, documentation, and example test drivers for a number of C++ wrapper libraries and higher-level network programming foundation classes developed as part of the ADAPTIVE transport system project at the University of California, Irvine. . The C++ wrappers encapsulate many of the user-level BSD and System V Release 4 IPC facilities such as sockets, TLI, select and poll, named pipes and STREAM pipes, the mmap family of memory-mapped file commands, System V IPC (i.e., shared memory, semaphores, message queues), and explicit dynamic linking (e.g., dlopen/dlsym/dlclose) using type-secure, object-oriented interfaces. . The higher-level network programming foundation classes integrate and enhance the lower-level C++ wrappers to support the configuration of concurrent network daemons composed of monolithic and/or stackable services Many of the C++ wrappers and higher-level components have been described in issues of the C++ Report, as well as in the proceedings of (1) the 2nd Annual C++ World conference held in Dallas, Texas in October, 1993, (2) the 11th Annual Sun Users Group Conference held in San Jose, CA in December, 1993, and (3) the 2nd International Workshop on Configurable Distributed Systems held at CMU in Pittsburgh, PA in March, 1994. A relatively complete set of documentation and extensive examples are included in the release. A mailing list is available for discussing bug fixes, enhancements, and porting issues regarding ACE. Please send mail to ace-users-request@ics.uci.edu if you'd like to become part of the mailing list. CONTENTS OF THE RELEASE The following subdirectories are included in this release: . apps -- complete applications written using the ACE wrappers . bin -- utility programs for building this release such as g++dep . build -- a separate subdirectory that keeps links into the main source tree in order to facilitate multi-platform build-schemes . include -- symbolic links to the include files for the release . lib -- object archive libraries for each C++ wrapper library . libsrc -- the source code for the following C++ wrappers: ASX -- higher-level C++ network programming foundation classes Get_Opt -- a C++ version of the UNIX getopt utility IPC_SAP -- wrapper for BSD sockets IPC_SAP_FIFO -- wrapper for FIFOS (named pipes) IPC_SAP_SPIPE -- wrapper for SVR4 STREAM pipes and connld Log_Msg -- library API for a local/remote logging facility Mem_Map -- wrapper for BSD mmap() memory mapped files Message_Queues -- wrapper for SysV message queues Reactor -- wrapper for select() and poll() Semaphores -- wrapper for SysV semaphores Server_Daemon -- a wrapper for dynamically linking Shared_Memory -- wrapper for SysV shared memory Shared_Malloc -- wrapper for SysV/BSD shared mallocs TLI_SAP -- wrapper for SVR4 TLI . tests -- programs that illustrate how to use the various wrappers Please refer to the INSTALL file for information on how to build and test the ACE wrappers. The BIBLIOGRAPHY file contains information on where to obtain articles that describe the ACE wrappers and the ADAPTIVE system in more detail. Also, please note that there is a companion tar file called C++_wrappers_doc.tar.Z, which is approximately 1.5 Meg compressed. This file is in the same ftp/gnu directory as the source code distribution. In this file is the following: . doc -- LaTeX documentation (in both latex and .ps format) . papers -- postscript versions of various papers describing ACE COPYRIGHT INFORMATION You are free to do anything you like with this code. However, you may not do anything to this code that will prevent it from being distributed freely in its original form (such as copyrighting it, etc.). Moreover, if you have any improvements, suggestions, and or comments, I'd like to hear about it! It would be great to see this distributed evolve into a comprehensive, robust, and well-documented C++ class library that would be freely available to everyone. Natually, I am not responsible for any problems caused by using these C++ wrappers. Thanks, Douglas C. Schmidt (schmidt@ics.uci.edu) Department of Information and Computer Science University of California, Irvine Irvine, CA 92717 Work #: (714) 856-4105 FAX #: (714) 856-4056 ACKNOWLEDGEMENTS Special thanks to Paul Stephenson for devising the recursive Makefile scheme that underlies this distribution. Also thanks to Olaf Kruger for explaining how to instantiate templates for shared libraries on SunOS 4. -- Douglas C. Schmidt Department of Information and Computer Science University of California, Irvine Irvine, CA 92717. Work #: (714) 856-4105; FAX #: (714) 856-4056 >56 Teaching Intro to OO Slides, T. Budd From: budd@daimi.aau.dk (Tim Budd) Subject: Re: Slides on OOP or OMT wanted Date: 8 Nov 1993 07:46:08 GMT Organization: DAIMI, Computer Science Dept. at Aarhus University >... I also have a series of slides that I have developed for use with my text ``an introduction to object-oriented programming'' (timothy budd, addison-wesley publishers). These can be found at cs.orst.edu directory pub/budd/oopintro/slides/*, or there is a mail server called almanac@cs.orst.edu and if you say send oopintro slides chapter1 and so on you can get them via e-mail. Warning, it yields a lot of e-mail, so do it one at a time. --tim >57 Value Dependence Graphs From: Michael D. Ernst Subject: Value dependence graphs paper available Date: Tue, 9 Nov 1993 00:59:36 GMT The paper "Value Dependence Graphs: Representation Without Taxation", which describes a new intermediate representation which is particularly amenable to optimization, is available. (This version corrects typos and clarifies a few minor points that may not have been completely clear in the version which will appear in the POPL 94 proceedings.) You can get a copy in three ways: 1. Via anonymous ftp, obtain file research.microsoft.com:/pub/papers/vdg.ps (or file vdg.ps635 if you have a HP LaserJet 4 printer). 2. Reply to mernst@research.microsoft.com requesting PostScript by email, and I will send you the PostScript file of your choice. (The files are 483K and 1018K bytes, respectively.) 3. Reply to mernst@research.microsoft.com sending me your physical mail address, and I will mail you a hardcopy. The abstract is: The value dependence graph (VDG) is a sparse dataflow-like representation that simplifies program analysis and transformation. It is a functional representation that represents control flow as data flow and makes explicit all machine quantities, such as stores and I/O channels. We are developing a compiler that builds a VDG representing a program, analyzes and transforms the VDG, then produces a control flow graph (CFG) [ASU86] from the optimized VDG. This framework simplifies transformations and improves upon several published results. For example, it enables more powerful code motion than [CLZ86, FOW87], eliminates as many redundancies as [AWZ88, RWZ88] (except for redundant loops), and provides important information to the code scheduler [BR91]. We exhibit a fast, one-pass method for elimination of partial redundancies that never performs redundant code motion [KRS92, DS93] and is simpler than the classical [MR79, Dha91] or SSA [RWZ88] methods. These results accrue from eliminating the CFG from the analysis/transformation phases and using demand dependences in preference to control dependences. The paper's full citation is: @InProceedings{WeiseCES94, author = "Daniel Weise and Roger F. Crew and Michael Ernst and Bjarne Steensgaard", title = "Value Dependence Graphs: Representation Without Taxation", booktitle = POPL94, pages = "297-310", year = 1994, month = jan, address = "Portland, OR" } >58 Various on OO I think our ftp-site should be mentioned under the PAPERS section of appendix E of the comp.object FAQ. There are a number of interesting papers about Object-Orientation, in particular about a new object-oriented model, called 'Composition Filters'. Here is the uuencoded compressed version of a postscript document that contains abstracts of the papers which are available via ftp (ftp.cs.utwente.nl - /pub/doc/TRESE) or WWW (http://www_trese.cs.utwente.nl - Recent Publications of the TRESE project). You may also view this document from our WWW-site. Greetings, Richard. --- TRESE project Email: stadt@cs.utwente.nl TRESE WWW Server: http://www_trese.cs.utwente.nl >59 ILU OMG CORBA From: Bill Janssen ILU is a module system / object RPC system / CORBA implementation for programming that supports object interfaces to modules. It supports inter-calling between modules written in different languages (currently only C++, C, Modula-3 and Common Lisp are supported), as well as inter-calling between modules running in different address spaces. It provides an implementation of object RPC compatible with the OMG CORBA 1.2 spec (it will compile OMG IDL and generate OMG compliant code for OMG-specified languages), as well as being compatible with Sun RPC (existing Sun RPC services can be described as ILU modules) and other RPC systems. It is written in ANSI C, and includes a metaobject protocol for configuration and flexibility. The source code is freely available. More information is available at ftp://parcftp.parc.xerox.com/pub/ilu/ilu.html. Bill >60 Internet Info CDROM, including FAQs Walnut Creek CDROM announces the release of the Internet Info CDROM. This CDROM contains 12,000 documents about computers and networks: * Answers to Frequently Asked Questions (FAQs). * Internet RFCs and IENs. * Computer security Documents. * Internet Network maps. * Usenet technical discussion Archives. * Ftp sites lists and descriptions of the archives they hold. * Extensive bibliographies and technical book reviews. * documents and standards from IEEE, ISO, NIST, ANSI and others. The price is $39.95. S&H is $5 for US/Canada/Mexico, and $10 for overseas. If you live in California, please add sales tax. You can pay by cash, check, money order or Visa/MC/Dis/Amex. This CDROM is fully guaranteed, if you are dissatisfied with this disc for any reason whatsoever, you can return it for an exchange or refund. Walnut Creek CDROM 1547 Palos Verdes Mall, Suite 260 Walnut Creek, CA 94596 1 800 786-9907 1 510 674-0783 1 510 674-0821 FAX orders@cdrom.com The disc is available for FREE to anyone that has contributed any of their own work. This includes FAQ maintainers, RFC authors, etc. Just email me your name, address, and the name of the files(s) that you wrote. Overseas addresses are ok. If you would like a more detailed list of other CDROM titles published by Walnut Creek CDROM, you can ftp the latest list from ftp.cdrom.com:/pub/cdrom/catalog, or send email to info@cdrom.com. >61 Metrics From: dcp@icd.teradyne.com (Dan Proskauer) Subject: Re: Wanted: Data on McCabe and Halstead Comple Organization: Teradyne, Inc. Boston MA Date: Sat, 18 Dec 1993 20:58:33 GMT There is some publically available McCabe and Halstead analysis software for C in gatekeeper.dec.com /pub/usenet/com.sources.unix/volume20/metrics. I believe there is some explanation of the metrics along with it. Some other references are: The Art of Software Testing, Myers "An Internal Approach to Testing Horizontally Reusable Software", Proceedings of the 5th Annual STC Conference, 93 Goldfedder (Overall of where McCabe fits in to A testing process)